ia_response_len = build_ia(buf, buflen, status, ia, a, iface,
hdr->msg_type == DHCPV6_MSG_REBIND ? false : true);
- /* Was only a solicitation: mark binding for removal */
+ /* Was only a solicitation: mark binding for removal in 60 seconds */
if (assigned && hdr->msg_type == DHCPV6_MSG_SOLICIT && !rapid_commit) {
a->flags &= ~OAF_BOUND;
- a->flags |= OAF_TENTATIVE;
-
- /* Keep tentative assignment around for 60 seconds */
a->valid_until = now + 60;
} else if (assigned &&
}
}
a->accept_fr_nonce = accept_reconf;
- a->flags &= ~OAF_TENTATIVE;
a->flags |= OAF_BOUND;
apply_lease(a, true);
} else if (!assigned) {
enum odhcpd_assignment_flags {
- OAF_TENTATIVE = (1 << 0),
- OAF_BOUND = (1 << 1),
- OAF_DHCPV6_NA = (1 << 2),
- OAF_DHCPV6_PD = (1 << 3),
+ OAF_BOUND = (1 << 0),
+ OAF_DHCPV6_NA = (1 << 1),
+ OAF_DHCPV6_PD = (1 << 2),
};
/* 2-byte type + 128-byte DUID, RFC8415, §11.1 */